home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / Application.h < prev    next >
C/C++ Source or Header  |  1992-07-24  |  2KB  |  88 lines

  1. #ifndef Application_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define Application_First
  7.  
  8. #include "Manager.h"
  9. #include "Port.h"
  10. #include "Data.h"
  11. #include "TypeMatcher.h"
  12.  
  13. class Application;
  14. class ClipBoard;
  15. class FileDialog;
  16. class Document;
  17. class Manager;
  18. class Menu;
  19. class StreamConnection;
  20.  
  21. extern Application      *gApplication;
  22. extern ClipBoard        *gClipBoard;
  23. extern StreamConnection *gRpc;
  24.  
  25. //---- Application -------------------------------------------------------------
  26.  
  27. class Application: public Manager {
  28. public:
  29.     MetaDef(Application);
  30.     Application(int ac, char** av, Symbol &mainDocType= cDocTypeUndef);
  31.     ~Application();
  32.     
  33.     //---- dialogs
  34.     virtual FileDialog *MakeFileDialog();
  35.  
  36.     //---- application attributes
  37.     char *GetName();
  38.     Symbol GetMainDocumentType()
  39.     { return mainDocumentType; }
  40.  
  41.     //---- Command line arguments
  42.     virtual int DoParseOptions(char *arg0, char *arg1);
  43.     virtual void ParseCommandLine(int argc, char **argv);
  44.     char *ProgramName();
  45.  
  46.     //---- Manager related methods
  47.     virtual Point GetInitialWindowPos();
  48.     virtual Manager *DoMakeManager(Symbol type);
  49.     virtual bool CanOpen(Data*);
  50.     virtual void NewManager(Symbol type);
  51.     virtual void MakeInitManager();
  52.     void RemoveManager(Manager *mp);
  53.  
  54.     //---- generic application commands
  55.     virtual void About();
  56.     virtual void Quit();
  57.     virtual void DoOnError(int level, char *location, char *msg);
  58.  
  59.     //---- menu related methods
  60.     Command *DoMenuCommand(int);
  61.     void DoSetupMenu(Menu *);
  62.     void Control(int id, int, void*);
  63.     void ExtCommand(int client, char *req, char *args, int len,
  64.                             char *&ret, int &retlen);
  65.     //---- run the Application
  66.     int Run();
  67.  
  68.     //---- obsolete
  69.     virtual Document *DoMakeDocuments(Symbol type);
  70.     virtual void AddDocument(Document*);
  71.     void NewDocument(Symbol type);
  72.     Document *FindDocument(int id);
  73.     void RemoveDocument(Document*);
  74.     virtual bool OpenDocument(char *name);  // returns TRUE on success
  75.     virtual bool CloseAllDocuments();       // returns TRUE on success
  76.     virtual Point GetNewDocumentPos();
  77.  
  78. protected:
  79.     static FileDialog *fileDialog;
  80.  
  81.     char *version;
  82.     Symbol mainDocumentType;
  83.     Point lastWindowPos;
  84. };
  85.  
  86. #endif
  87.  
  88.